package com.smart.entity;

import lombok.Data;
import java.util.Date;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;

/**
 * @author lgb
 * @date 2020年6月15日 上午9:18:34
 * Copyright (C) 深圳工勘科技
 * @说明: 用户管理
 **/
@Data
@NoArgsConstructor
@TableName("sys_user")
@EqualsAndHashCode(callSuper=true)
public class SysUser extends Model<SysUser>{
	
	private static final long serialVersionUID = 5040565995453932959L;
	@TableId
    private Long id;
	/** 角色id */
	private Long roleId;
	private String roleName;
    /** 所属部门 */
    private Long deptId;
    /** 所属部门名称 */
    private String deptName;
    /** 所属岗位 */
    private String postIds;
    /** 登陆用户名 */
    private String username;
    /** 密码 */
    private String password;
    /** 头像 */
    private String icon;
    /** 邮箱 */
    private String email;
    /** 手机号码 */
    private String phone;
    /** 昵称 */
    private String nickName;
    /** 性别 */
    private String sex;
    /** 备注信息 */
    private String note;
    /** 最后登陆IP */
    private String loginIp;
    /** 最后登录时间 */
    @JsonFormat(pattern=DatePattern.NORM_DATETIME_PATTERN,timezone = "GMT+8")
    private Date loginTime;
    /** 帐号启用状态：0->禁用；1->启用 */
    private String status;
    /** 创建时间 */
    @JsonFormat(pattern=DatePattern.NORM_DATETIME_PATTERN,timezone="GMT+8")
    private Date createTime;
    /** 修改时间 */
    @JsonFormat(pattern=DatePattern.NORM_DATETIME_PATTERN,timezone="GMT+8")
    private Date modifyTime;
    /** 有效状态：0->无效；1->有效 */
    @TableLogic
    private Integer valid;
    /** 角色ID列表 */
    @TableField(exist=false)
    private List<SysRole> SysRoles;
}